﻿using System.Linq;
using SubsidiosBussinessLogic.Models;

namespace SubsidiosBussinessLogic.DataAccess.Interfaces
{
    public interface IBeneficiarioRepository
    {
        /// <summary>
        /// Retorna una coleccion de Beneficiario
        /// </summary>
        /// <returns></returns>
        IQueryable<Beneficiario> GetBeneficiarios();

        /// <summary>
        /// Crea una nueva instancia de Beneficiario
        /// </summary>
        /// <returns></returns>
        Beneficiario CreateBeneficiario();

        /// <summary>
        /// Prepara para borrar un Beneficiario
        /// </summary>
        /// <param name="beneficiario"></param>
        void DeleteBeneficiario(Beneficiario beneficiario);

        /// <summary>
        /// Commitea los cambios en la base
        /// </summary>
        void SaveBeneficiario();

    }
}